package cn.bugDance.domain.strategy.service.rule.chain;

import cn.bugDance.domain.strategy.model.entity.RaffleFactorEntity;
import cn.bugDance.domain.strategy.service.rule.chain.factory.RuleChainFactory;

/**
 * 责任链节点
 * 1.责任链节点过滤 action
 * 2. 添加责任链在该节点后面 appendNext
 * 3. 获取下一个next getNext
 */
public interface IRuleChain {

    RuleChainFactory.RuleChainActionEntity action(RaffleFactorEntity raffleFactorEntity);

    void appendNext(IRuleChain chain);

    IRuleChain getNext();
}
